23 - Komplexität von Algorithmen [ID:10716]
50 von 451 angezeigt

Ansage vorweg. Ich wurde angesprochen von Leuten, die hinsichtlich des Scheins Probleme mit den

Gruppen aber nicht den Individualpunkten haben. Diesbezüglich hatte ich noch eine

Detailregelung vergessen anzusagen. Man kann, wenn man da Probleme hat, Individualpunkte zum

Kurs eins zu eins in Gruppenpunkte umtauschen. Dann stehen sie allerdings nicht mehr für die

Bonusregelung zur Verfügung. Also die, die man umgetauscht hat nicht, die restlichen natürlich

schon. Wohlgemerkt, diese Regelung ist nicht optional. Also es gibt jetzt nicht die Möglichkeit,

Bonuspunkte mitzunehmen durch den Schein zu fallen und den Schein nächstes Semester nochmal

zu probieren. Das machen wir nicht mit. Ja, das soweit angekommen. Ich nehme an, wie die jetzt

im Saal sind, interessiert das ohnehin nicht. Gut. Okay, ja heute wird besonders lustig. Ich

habe nämlich meine Notizen zu Hause liegen lassen. So, also Reduktionen sind ein besonders wichtiges

Thema in der Komplexitätstheorie selbstverständlich, weil sie eben dazu dienen, die exakte Komplexität

von Problemen zu bestimmen. Sie kommen vor auf den laufenden Aufgaben zetteln und es wird ganz

sicher auch mindestens eine Reduktion in der Klausur drankommen. Deswegen machen wir heute

mal sorgfältig zwei Beispiele, in denen wir illustrieren, wie das denn so geht. Mit etwas

Pech kennen Sie das eine dieser Beispiele schon. Das ist NP Härte von Klieg. Ist das bekannt? War

das ein BFS? Klickenproblem, NP-Hard? Ich mache es schlicht und einfach trotzdem nochmal,

ja, also damit wir da wieder reinkommen und als zweites zeigen wir NL Härte des Schleifproblems.

Also, wir machen im Rahmen unseres allgemeinen Nonsens noch mal ein Lämmer vorweg, was noch

mal einfängt, was wir hier tun. Wenn ich eine Klasse C habe

und ein Problem, das F-Hard ist für diese Klasse, also ein Problem C, das F-Hard ist

für Skript C und ich habe ein Problem D, das ist noch schwerer unter diesen F-Reduktionen,

dann ist auch dieses Problem D F-Hard für C erst recht, denn es ist ja noch schwerer

als C. Noch mal kurz gucken, woran das eigentlich hängt. Klar ist das Argument trivial, wir

wollen nur sehen, was da tatsächlich vorkommt in dem Argument. Ja, wie immer müssen wir

der Struktur der Definition folgen, in diesem Falle der Struktur der Definition von F-Hard,

das heißt wir müssen uns vorgeben, ein Problem in dieser Klasse Skript C und zeigen, dass

D schwerer ist als dieses Problem. Das heißt, jetzt gehen wir den Namen aus, wir nennen

das E-Hard und zeigen, E ist F-Reduzierbar auf D. Nun wissen wir, E ist F-Reduzierbar

auf C, weil C F-Hard ist und nach Voraussetzung ist C F-Reduzierbar auf D und wir hatten festgehalten,

dass E F-Reduzierbar auf D ist, weil C F-Hard auf D ist und das ist die Klasse von Reduktionsfunktionen,

diese Skript F abgeschlossen ist unter Komposition. Gut.

So, jetzt also unser erstes Beispiel zum Thema NP-Härte. Es lohnt sich insofern, das nochmal

zu machen, weil vermutlich genauer gesagt das, was in BFS gezeigt worden ist, gewesen sein

wird, dass SAT zum Beispiel P-Time-Hard ist für NP, nehme ich an, also Polyzeitreduktion.

Wir gucken uns die Reduktion nochmal an, also jetzt nicht die auf SAT, wir wollen jetzt

nicht NP-Vollständigkeit von SAT nochmal zeigen. Es sei an dieser Stelle aber gesagt,

dass SAT sogar Logspace vollständig ist, das haben wir auch mehrfach schon erwähnt für

P-Time, Quatsch für NP-Time, also für NP. Und insofern lohnt es sich, SAT in Logspace

auf andere Probleme zu reduzieren, weil die dann nämlich ebenfalls Logspace-Hard für

NP sind. So, und jetzt machen wir also in der Tat eine Logspace-Reduktion von SAT auf ein

anderes Problem, und zwar auf CLICK. Also, Erinnerung an die beiden Probleme. So, wir

nehmen hier einen ungerichteten Graphen, G, mit Menge V von Knoten und Menge E von Kanten.

Was heißt das, dass der ungerichtet ist? Nun, das heißt, dass eine Kante von S nach

T existiert, genau dann, wenn eine Kante von T nach S existiert. Das hat den Effekt, dass

die Kanten im Endeffekt keine Richtung haben, es gibt sie immer in beiden Richtungen, wenn

es sie gibt. So, und jetzt gucken wir uns an, eine Teilmenge der Knoten, und definieren,

dass es heißt, für diese Teilmenge eine Clique zu sein, bzw. eine K-Clique. So ein Ding ist

eine K-Clique für eine Zahl, also eine ganze Zahl, kleinen K, genau dann, wenn erstens

die Menge eben genau kleinen K-Knoten enthält, also sprich, das kleinen K, das gibt also

schlicht und einfach die Größe der Clique an, und für alle Knoten S und T in K gilt,

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:28:41 Min

Aufnahmedatum

2013-07-05

Hochgeladen am

2019-04-22 04:19:04

Sprache

de-DE

  • Mathematische Hilfsmittel der Algorithmenanalyse: Abschätzung des asymptotischen Wachstums von Funktionen, Summationen, Anzahlen, divide-and-conquer-Rekursionen, etc.
  • Grundbegriffe der quantitativen Algorithmenanalyse: worst-case- und average-case-Analsyse, obere und untere Schranken, Algorithmen- und Problemkomplexität

  • Exemplarische Analysen von Sortieralgorithmen

  • Sortierkomplexität und Entropie

  • Quellcodierung und Datenkompression

  • Komplexität von arithmetischen Operationen und Problemen (Multiplikation, Primtest, Faktorisierung)

  • modulare Arithmetik und schnelle Fouriertransformation

  • Kryptographie und Komplexität

Lernziele und Kompetenzen:

Die Studierenden

  • erwerben fundierte Kenntnisse über die Grundbegriffe der quantitativen Algorithmenanalyse (Laufzeit) und die benötigten mathematischen Methoden

  • verstehen die Komplexität (Laufzeitverhalten) von Standardalgorithmen (z.B. Sortieren, arithmetische Algorithmen) und können deren praktische Bedeutung erklären

  • sind in der Lage, an einfachen, exemplarischen Algorithmen Analysen des worst-case-Verhaltens und des average-case-Verhaltens durchzuführen

  • können exemplarisch Algorithmenkomplexität und Problemkomplexität in Bezug setzen

  • können die Beziehungen zwischen Sortier- und Suchkomplexität und dem Entropiebegriff darstellen

  • erwerben Grundkenntnisse über algebraische Strukturen der Arithmetik und die Komplexität arithmetischer Operationen

  • können die Rolle von Komplexitätsaussagen für die Beurteilung der Sicherheit einfacher kryptografischer Protokoll darstellen

Literatur:

Graham, Knuth, Patashnik, Concrete Mathematics, Addison-Wesley, 1994.
Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, MIT-Press, 2001.
Heun, Grundlegende Algorithmen, Vieweg, 2001.

Einbetten
Wordpress FAU Plugin
iFrame
Teilen